home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 February / EnigmA AMIGA RUN 15 (1997)(G.R. Edizioni)(IT)[!][issue 1997-02][PLANET CD V].iso / enigma / earcd / emula / arosdv19.lha / AROS / config / i386-emul / disable.s < prev    next >
Text File  |  1996-10-24  |  1KB  |  74 lines

  1. #    (C) 1995-96 AROS - The Amiga Replacement OS
  2. #    $Id: disable.s,v 1.12 1996/10/24 15:51:10 aros Exp $
  3. #
  4. #    Desc: Exec function Disable
  5. #    Lang: english
  6.  
  7. #*****************************************************************************
  8. #
  9. #   NAME
  10. #    AROS_LH0(void, Disable,
  11. #
  12. #   LOCATION
  13. #    struct ExecBase *, SysBase, 20, Exec)
  14. #
  15. #   FUNCTION
  16. #
  17. #   INPUTS
  18. #
  19. #   RESULT
  20. #
  21. #   NOTES
  22. #
  23. #   EXAMPLE
  24. #
  25. #   BUGS
  26. #
  27. #   SEE ALSO
  28. #
  29. #   INTERNALS
  30. #
  31. #   HISTORY
  32. #
  33. #******************************************************************************
  34.  
  35. #if defined(__FreeBSD__)
  36. #define sigprocmask _sigprocmask
  37. #endif
  38.  
  39.     .include "machine.i"
  40.  
  41.     .text
  42.     .balign 16
  43.     .globl    _Exec_Disable
  44.     .type    _Exec_Disable,@function
  45.  
  46. _Exec_Disable:
  47.     call  disable
  48.     pushl %eax
  49.     movl  8(%esp),%eax
  50.     incb  IDNestCnt(%eax)
  51.     popl  %eax
  52.     ret
  53.  
  54.     .globl    disable
  55.     .type    disable,@function
  56. disable:
  57.     pushl %eax
  58.     pushl %ecx
  59.     pushl %edx
  60.  
  61.     pushl $-1
  62.     pushl $0
  63.     leal  4(%esp),%eax
  64.     pushl %eax
  65.     pushl $0
  66.     call  sigprocmask
  67.     addl  $16,%esp
  68.  
  69.     popl  %edx
  70.     popl  %ecx
  71.     popl  %eax
  72.  
  73.     ret
  74.